Crate aead[][src]

Expand description

Authenticated Encryption with Associated Data (AEAD) traits

This crate provides an abstract interface for AEAD ciphers, which guarantee both confidentiality and integrity, even from a powerful attacker who is able to execute chosen-ciphertext attacks. The resulting security property, ciphertext indistinguishability, is considered a basic requirement for modern cryptographic implementations.

See RustCrypto/AEADs for cipher implementations which use this trait.

Re-exports

pub use generic_array;
pub use heapless;
pub use rand_core;

Modules

Type aliases for many constants.

devdev

Development-related functionality

streamstream

Streaming AEAD support.

Macros

Implement the decrypt_in_place method on AeadInPlace and [AeadMutInPlace], using a macro to gloss over the &self vs &mut self.

Define AEAD test

Structs

Error type.

Payloadalloc

AEAD payloads are a combination of a message (plaintext or ciphertext) and “additional associated data” (AAD) to be authenticated (in cleartext) along with the message.

Traits

Aeadalloc

Authenticated Encryption with Associated Data (AEAD) algorithm.

Authenticated Encryption with Associated Data (AEAD) algorithm core trait.

In-place stateless AEAD trait.

AeadMutalloc

Stateful Authenticated Encryption with Associated Data algorithm.

In-place stateful AEAD trait.

In-place encryption/decryption byte buffers.

Instantiate either a stateless Aead or stateful AeadMut algorithm.

Type Definitions

Key for a NewAead algorithm

Nonce: single-use value for ensuring ciphertexts are unique

Result type alias with Error.

Tag: authentication code which ensures ciphertexts are authentic